OpenFlow is a commonly-used network architecture that physically decouples the control plane from the data plane in a network. A logically centralized controller (the control plane) independently controls each flow in the network by installing customized flow-rules for forwarding switches (the data plane). A flow-rule includes a “match” field that matches with a given flow, an “instructions” field that details the actions to be taken on the flow, and counters that maintain flow statistics. Accordingly, OpenFlow, via counters, also enables fine-grained monitoring of traffic from every individual flow. This architecture can provide central visibility into the network, thereby allowing various traffic engineering schemes to be implemented, as well as centralized control, allowing security schemes and networks policies to be more narrowly enforced. However, existing approaches utilizing such architecture present challenges such as, for example, increased switch memory requirements, controller bottleneck, and high first packet latency. Accordingly, a need exists to address such issues and facilitate deployment of OpenFlow at the scale of production data centers.